#include <iostream>
#include <string>
#include <algorithm>
#include <boost/algorithm/string/predicate.hpp>
#include <boost/algorithm/string/compare.hpp>
#include <boost/algorithm/string/case_conv.hpp>

std::string str1 = "Thanks for reading me!";
std::string str2 = "Thanks for reading ME!";

int main()
{
	std::cout << std::boolalpha;
	std::cout << "==== 1 ====" << std::endl
		<< "str1 str2 equal:" << boost::iequals(str1, str2) << "    " << std::endl;

	std::cout << "==== 2 ====" << std::endl
		<< "str1 str2 equal:" << 
		(str1.size() == str2.size() && std::equal(
			str1.begin(), str1.end(), str2.begin(), boost::is_iequal()
		)) << "    " << std::endl;

	std::string str1_up = boost::to_upper_copy(str1);
	std::string str2_up = boost::to_upper_copy(str2);

	boost::to_lower(str1);
	boost::to_lower(str2);

	return 0;
}